package com.dubbo.service.impl;

import com.dubbo.common.ResponseUtil;
import com.dubbo.domain.auth.Role;
import com.dubbo.domain.info.ResultMessage;
import com.dubbo.mapper.auth.RoleMapper;
import com.dubbo.service.auth.RoleService;
import com.dubbo.service.impl.base.BaseServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.Map;
import java.util.UUID;

/**
 * 角色serviceImpl
 * @author chenluqiang
 * @date 2018年12月15日 上午10:40:51 
 *
 */
@Service
@Transactional(readOnly=false,rollbackFor=Exception.class)
public class RoleServiceImpl extends BaseServiceImpl<Role> implements RoleService {
	
	@Autowired
	private RoleMapper roleMapper;
	
	/**
	 *  添加角色
	 * @author chenluqiang
	 * @date 2018年12月15日 上午10:48:46 
	 * @param roleName 角色名称
	 * @param type 角色类型
	 * @return
	 */
	@Override
	public Map<String, Object> addRole(String roleName,Integer type) {
		//校验角色名称
		if(StringUtils.isBlank(roleName)) {
			return ResponseUtil.ajaxCheckError(ResultMessage.NAME_ISERROR);
		}
		//校验角色类型
		if(type==null||type<0||type>4) {
			return ResponseUtil.ajaxCheckError(ResultMessage.ROLE_TYPE_ISERROR);
		}
		
		//设置角色数据
		Role role = new Role();
		role.setId(UUID.randomUUID().toString().replaceAll("-", ""));
		role.setName(roleName);
		role.setType(type);
		role.setCreateTime(new Date());
		role.setUpdateTime(new Date());
		roleMapper.insertSelective(role);
		
		return ResponseUtil.ajaxCheckSuccess(ResultMessage.OK);
	}

}
